﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using WalkingTec.Mvvm.Core;
using HengTong.Model;


namespace HengTong.ViewModel.Person.SysPersonVms
{
    public partial class SysPersonSearcher : BaseSearcher
    {
        [Display(Name = "姓名")] public String Name { get; set; }
        [Display(Name = "工号")] public String StaffNo { get; set; }
        [Display(Name = "出生日期")] public DateRange BirthDate { get; set; }
        [Display(Name = "年龄")] public Int32? Age { get; set; }
        [Display(Name = "年龄范围起")] public Int32? AgeStart { get; set; }
        [Display(Name = "年龄范围止")] public Int32? AgeEnd { get; set; }

        [Display(Name = "工龄")] public int? WorkYears { get; set; }
        [Display(Name = "司龄")] public decimal? CompanyYears { get; set; }
        [Display(Name = "工龄范围起")] public int? WorkYearsStart { get; set; }
        [Display(Name = "工龄范围止")] public int? WorkYearsEnd { get; set; }

        [Display(Name = "司龄范围起")] public int? CompanyYearsStart { get; set; }
        [Display(Name = "司龄范围止")] public int? CompanyYearsEnd { get; set; }

        [Display(Name = "性别")] public Gender? Gender { get; set; }
        [Display(Name = "是否退伍军人")] public bool? IsVeteran { get; set; }

        [Display(Name = "排序")] public decimal? Order { get; set; }
        [Display(Name = "民族")] public Ethnicity? Ethnicity { get; set; }
        [Display(Name = "最高学历")] public EducationLevel? HighestEducation { get; set; }
        [Display(Name = "婚姻状况")] public MaritalStatus? MaritalStatus { get; set; }
        
        [Display(Name = "生育状况")] public FertilityStatus? FertilityStatus { get; set; }

        [Display(Name = "专业大类")] public MajorCategory? MajorCategory { get; set; }

        [Display(Name = "专业名称")] public string MajorName { get; set; }
        [Display(Name = "身份证号")] public String IdCardNo { get; set; }
        [Display(Name = "户口所在地")] public String HouseholdRegistration { get; set; }
        [Display(Name = "籍贯")] public String NativePlace { get; set; }
        [Display(Name = "政治面貌")] public PoliticalStatus? PoliticalStatus { get; set; }
        [Display(Name = "档案所在地")] public String ArchiveLocation { get; set; }
        [Display(Name = "家庭住址")] public String HomeAddress { get; set; }
        [Display(Name = "手机号")] public String Phone { get; set; }
        [Display(Name = "所属公司")] public Guid? OrgId { get; set; }
        [Display(Name = "所属部门")] public Guid? GroupId { get; set; }
        [Display(Name = "工作岗位")] public Guid? JobPositionId { get; set; }
        [Display(Name = "入职日期")] public DateRange HireDate { get; set; }
        [Display(Name = "用工形式")] public EmploymentType? EmploymentType { get; set; }
        [Display(Name = "劳动合同类型")] public ContractType? ContractType { get; set; }
        [Display(Name = "合同编号")] public String ContractNo { get; set; }
        [Display(Name = "人员状态")] public PersonState? State { get; set; }
        [Display(Name = "状态列表")] public List<PersonState> States { get; set; } // 新增字段用于多状态查询
        [Display(Name = "血型")] public BloodType? BloodType { get; set; }

        protected override void InitVM()
        {
        }
    }
}